草庐IT

Java AES 加盐加密

全部标签

php - 通过 PHP (Laravel)、Android 和 iOS 进行加密和解密的跨平台数据传输

我正在尝试为跨平台(web、android和iOS)创建一个安全的消息传输系统。所以,我希望所有API数据传输都应该通过加密和解密来完成。因此,如果应用程序(android和iOS)想要发送一条消息,则应该加密并且数据应该由PHP解密,如果服务器想要将JSON发送到应用程序,则应该加密JSOn并且何时收到后,应用程序将解密并使用它。例如——让我们从服务器得到一个JSON响应——{"widget":"not-available","debug":"on","window":"open","image":"example.widget.com/anything.jpg"}那应该像这样由服务

java - 如何在 Android 上使用 Java BouncyCaSTLe API 使用明文 key 对字符串进行 RSA 加密

我正在尝试使用Android中的BouncyCaSTLeAPI加密字符串以发送到服务器。我有明文的公钥(当然是在内存中,而不是在文件系统中!密码学家,没必要对我大喊大叫;))我需要使用这个明文公钥将字符串加密为RSA加密字符串。这是我的课:publicclassRSAEncryptor{//Getcertificatefrombase64stringpublicstaticX509CertificategetCertificateFromBase64String(Stringstring)throwsCertificateException,javax.security.cert.Ce

android - Android客户端和PHP服务器之间的加密

在加密方面,我完全是个新手,我认为我的问题全错了,让我解释一下:我希望Android应用程序联系服务器以获取要在应用程序中显示的项目。然后,如果用户与该项目进行交互,我想向服务器发送反馈,告知已单击哪个项目以将其保存在数据库中。首先,我不希望任何人在将这些“反馈”发送到服务器时通过网络“拦截”这些“反馈”。所以我决定使用https连接。但是假设我要求反馈的脚本是https://mydomain.com/myscript.php(带有POST请求)。我不希望有人对我的Android代码进行逆向工程并看到我正在调用此脚本来发送反馈,因为这样他就可以将它用于相同的目的。然后我想“嘿,当我必须

android - 如何知道sqlite数据库是否加密

众所周知,我们可以使用sqlcipher来加密数据库,我在一个android项目中使用它。出于某种原因,我不想再使用它了。通过使用sqlcipher_export转换数据库。所以我的问题是有什么好方法可以让我检查数据库是否加密,从而决定是否需要解密。2、如果出现意外情况(迁移过程中关机),怎么办? 最佳答案 直接查看数据库文件的前16个字节,如果等于字符串"SQLiteformat3\000"则文件未加密,是一个标准的SQLite数据库。如果在sqlcipher_export期间出现问题并且发生崩溃,则原始数据库将保持不变。只需在后

php - Android中的加密相当于php的MCRYPT_RIJNDAEL_256

我正在使用下面的php代码进行加密:$enc_request=base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256,$this->_app_key,json_encode($request_params),MCRYPT_MODE_ECB));现在尝试在android中加密并获取不同的加密字符串。下面是安卓代码:publicvoidenc(){byte[]rawKey=getRawKey("my_key".getBytes());SecretKeySpecskeySpec=newSecretKeySpec(rawKey,"AES");Ciphe

android - 在 Android 中使用 SQLCipher 加密/解密现有数据库

我正在使用下面的代码来加密和解密我能够加密的数据库,但是当我尝试解密时,我遇到了以下异常。我引用了这个documentation和TestCases太仍然面临同样的问题。异常:sqlitereturned:errorcode=26,msg=fileisencryptedorisnotadatabaseCREATETABLEandroid_metadatafailedFailedtosetLocale()whenconstructing,closingthedatabasenet.sqlcipher.database.SQLiteException:fileisencryptedoris

android - 用于 AES 加密的 Gradle 脚本

对于Android应用程序,我想在使用gradle构建时混淆/加密服务器公钥。现在我正在使用Base64进行混淆,但我需要额外的AEStaskencryptKeys{doFirst{//Encrypttheserverkey//Loadkeybyte[]key=newFile('project/keys/server.crt.der').bytes//EncodekeytwiceStringencoded=key.encodeBase64().toString();encoded=encoded.bytes.encodeBase64().toString();//TODOAESENCR

Android SQLite 文件加密

我正在构建一个用于托管应用的SDK。此SDK包括使用SQLite处理数据库。要求之一是数据库将被加密以防止从设备中提取SQLite数据库并使用用户私有(private)信息。我开始使用SQLCipher,但不支持64位架构设备,导致应用程序崩溃。我检查了其他一些可能性,但所有这些都导致了其他问题,我决定尝试自己处理。我的问题:Android是否有一些数据库文件的加密机制?我可以在应用程序启动时加密文件,并在应用程序关闭时再次解密吗?我知道在iOS中有一种叫做NSFileProtection的可能性。您知道其他可以处理DB加密并支持64位设备的库吗?您知道是否有不使用JNI(javax.

Android - 使用Fingerprint scanner和Cipher加密解密多个字符串

在用户使用指纹扫描仪进行身份验证后,我需要结束加密不同的字符串和相关的解密。按照这个项目(https://github.com/StylingAndroid/UserIdentity/tree/Part1)并更改了“tryEncrypt”方法,如下所示:privatebooleantryEncrypt(Ciphercipher){try{cipher.doFinal(SECRET_BYTES);Stringone="augusto";Stringtwo="test@gmail.com";Stringthree="3333333331";byte[]oneEnc=cipher.doFin

android - 基于文件的加密(FBE)和全盘加密(FDE)有什么区别

从AndroidN开始,引入了新功能FBE(基于文件的加密)。它与FDE(全盘加密)有何不同。如何验证我的Android设备是否具有FBE? 最佳答案 与加密全盘不同,基于文件的加密可以通过不同的key加密每个文件。最值得注意的用法是不同的用户配置文件现在使用不同的key。以前,不同的用户共享相同的磁盘加密key。好的,用户/开发人员可见的变化是我们将拥有所谓的直接启动功能。以前在重新启动后,用户必须解锁整个磁盘(与主用户相同的密码),在输入密码的黑屏上,然后解锁他自己的配置文件(主要是主用户)。现在,您可以直接重启以解锁用户配置文